Wiki gardening
A systematic approach to maintaining and improving a personal wiki. Rather than letting pages accumulate as stubs, gardening means regularly revisiting, connecting, and pruning.
See also: Zettelkasten
Strategy
Alternate between archeology (old pages) and curation (recent/public-facing). Each mode surfaces different kinds of work.
1. Oldest pages
Pages created long ago are most likely to be stubs, have dead links, or use outdated formatting. High ROI for cleanup: add a sentence of context, fix links, connect to newer pages.
2. High-value stubs
Pages with many incoming backlinks but very little content. These are important nodes in the wiki graph — other pages point to them expecting substance. Flesh them out or at least add a useful one-liner.
3. Recent yet unpublished
Written recently, so context is fresh. Good candidates to polish and publish. Review for completeness, add links, decide if they’re ready to go public.
4. Orphans
Pages with no incoming or outgoing links. Either connect them to the graph or delete them. A disconnected page is invisible.
5. Broken links
Pages with unresolved wikilinks — they reference something that doesn’t exist yet. Either create the target page (even as a stub) or fix the link.
6. Public pages linking to gaps
If a published page links to something that’s missing or private, readers hit a dead end. These are high-priority gaps to fill.
7. Random
Pure random sampling. No bias toward any category. Good for serendipity and encountering pages you’ve forgotten about.
Rotation
Running uv run scripts/garden.py without arguments picks a random strategy and shows one candidate — zero friction. Or choose a specific mode when you’re in the mood for a particular kind of work.
Tooling
scripts/garden.py— surfaces candidates for each categoryscripts/publish-candidate.ais— AI-assisted publishing candidate selectiono orphans/o unresolved— Obsidian CLI for orphans and broken links